# Replication Package: Demographics, Fiscal Dominance, and the Bohn Test

## Overview
This folder contains all files needed to replicate the analysis in "Demographics, Fiscal Dominance, and the Bohn Test." The paper shows that aging threatens fiscal sustainability through the SPENDING channel, not interest rates. A +10pp increase in OADR raises expenditure by +12pp but revenue by only +5pp. The Bohn coefficient is fragile and debt-demographics interactions are null (all p>0.41).

## Requirements
- Python 3.10+
- pandas, numpy, scipy, statsmodels
- Data files in data/processed/

## Structure
- `scripts/` — Analysis scripts (run in phase order)
- `src/` — Shared modules (PanelGLS estimator, data loading, country classifications)
- `data/processed/` — Processed panel data (fiscal_panel.csv, fiscal_regimes.csv)
- `output/tables/` — Generated output tables
- `paper/` — Paper manuscript and references

## Reproduction
Run scripts in numerical phase order:
```
python scripts/phase1_data_assembly.py
python scripts/phase2_bohn_test.py
python scripts/phase2b_decomposition.py
python scripts/phase3_rg_dynamics.py
python scripts/phase4_spending_channels.py
python scripts/phase5_projections.py
python scripts/phase6_robustness.py
```

## Data Sources
- UN World Population Prospects 2024
- IMF World Economic Outlook
- Penn World Table 10.01
- Chinn-Ito KAOPEN Index
- Lane & Milesi-Ferretti External Wealth of Nations

## Notes
- All analysis uses the 140-country expanded panel (EBA-49 + SSA-20 + EU expansion + Tier 1 expansion)
- The `src/` modules are from the multilateral/followup project and contain the expanded country lists
- r-g channel null (p>0.56); non-health spending accounts for 80% of burden
- Rolling Bohn collapsed post-2020
